package com.jfire.orm.function;

import java.sql.Connection;

public interface DAOBean
{
    /**
     * 将对象信息保存到数据库中。如果对象id值为null，进行插入操作，否则进行更新操作
     * 
     * @param <T>
     *            
     * @param entity
     * @param connection
     * @return
     */
    public <T> void save(T entity, Connection connection);
    
    /**
     * 将一个对象以插入数据的形式保存到数据库
     * @param <T>
     * 
     * @param entity
     * @param connection
     */
    public <T> void insert(T entity, Connection connection);
    
    /**
     * 将对象entity所代表的数据库行删除.
     * entity其他参数并不重要,只要id参数有存在即可.删除是根据id参数进行删除的
     * 
     * @param pk
     * @param connection
     * @return
     */
    public boolean delete(Object entity, Connection connection);
    
    /**
     * 在数据库该表中，使用主键查询并且返回对象
     * 
     * @param <T>
     *            
     * @param pk
     * @param connection
     * @return
     */
    public <T> T getById(Object pk, Connection connection);
    
}
